﻿Imports VN.INS.BL.BC
Imports System.Data
Partial Class Devida_PlanTrabajo
    Inherits System.Web.UI.Page

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If (Not (Page.IsPostBack)) Then
            Dim dtUsuarios As DataTable = New DataTable
            ViewState("Perfil") = Session("Perfil").ToString
            ViewState("Persona") = Session("Persona").ToString 'Contiene el dato de la Persona que ha iniciado la sesión
            ViewState("PPER") = Session("PPER").ToString
            ViewState("USER") = Session("USER_ID").ToString
            ViewState("OZ") = Session("OFICINA").ToString
            ViewState("Jefe") = Session("JEFE").ToString
            ViewState("Tipo") = Session("TIPO").ToString
            lblTitulo.Text = "Plan de Trabajo de Monitoreo"
            Lista_Monitoreo()
            ListaMes()
            ViewState("Nuevo") = Request.QueryString("Nuevo").ToString

            If ViewState("Nuevo") = "1" Then
                'SOLO HABILITA LA CABECEERA

                'By Tigrito (20/08/2013): Only commented
                ListaMesNuevo(ViewState("Persona"))
                HabilitarAgregar(ViewState("Persona"))
                Carga_grilla_Inicio()
            ElseIf ViewState("Nuevo") = "0" Then
                ViewState("Codigo") = Request.QueryString("Codigo").ToString
                ViewState("Estado") = Request.QueryString("Estado").ToString
                Dim strPeriodo As String = Request.QueryString("Periodo").ToString
                Dim strPersona As String = Request.QueryString("Persona").ToString 'Contiene el dato de la Persona Monitoreador
                'SOLO HABILITA TRABAJO DE CAMPO
                ViewState("Persona") = strPersona
                HabilitarModificar(strPeriodo, strPersona)
                If ViewState("Estado") = "2" Then
                    btn_guardar.Visible = False
                    gv_impresion.Enabled = False
                    panelObservaciones.Enabled = False
                    panelObsJefe.Enabled = False
                End If
            ElseIf ViewState("Nuevo") = "2" Then
                'SOLO HABILITA APROBACION
                ViewState("PPER") = Request.QueryString("PPER").ToString
                ViewState("Codigo") = Request.QueryString("Codigo").ToString
                ViewState("Estado") = Request.QueryString("Estado").ToString
                Dim strPeriodo As String = Request.QueryString("Periodo").ToString
                Dim strPersona As String = Request.QueryString("Persona").ToString
                HabilitarRevision(strPeriodo, strPersona)
                If ViewState("Estado") = "2" Then
                    btn_guardar.Visible = False
                    pnlJefe.Enabled = False
                End If
            ElseIf ViewState("Nuevo") = "3" Then
                'SOLO HABILITA CONSULTA
                ViewState("PPER") = Request.QueryString("PPER").ToString
                ViewState("Codigo") = Request.QueryString("Codigo").ToString
                ViewState("Estado") = Request.QueryString("Estado").ToString
                Dim strPeriodo As String = Request.QueryString("Periodo").ToString
                Dim strPersona As String = Request.QueryString("Persona").ToString
                HabilitarRevision(strPeriodo, strPersona)

                'ddl_mes.Text = "Rodent"

                btn_guardar.Visible = False
                pnlJefe.Enabled = False
                'txtObsJefe.Enabled = False
                panelObsJefe.Enabled = False
                'txtObservaciones.Enabled = False
                panelObservaciones.Enabled = False


            End If
            lblFecha.Text = "Fecha: "
            lblFechaObs.Text = Now.Date

            'Esto es para el Documento con datos cargados... el que se imprimira... es el que sale en la vista del navegador

            'lblFechaDoc.Text = lblFecha.Text 'By Tigrito: commented 22/05/2013
            'lblFechaDocObs.Text = lblFechaObs.Text 'By Tigrito: commented 22/05/2013

            If ViewState("Nuevo") <> "1" Then
                Dim strPeriodoAux As String = Request.QueryString("Periodo").ToString
                Dim strPersonaAux As String = Request.QueryString("Persona").ToString
                Dim obj As New MONITOREOBC

                lblFechaGeneracion.Text = "Fecha Generación: " + obj.CargarFechaGeneracion(strPersonaAux, strPeriodoAux)
                lblFechaAprobacion.Text = "Fecha Aprobación: " + obj.CargarFechaAprobacion(strPersonaAux, strPeriodoAux)
            Else
                lblFechaGeneracion.Text = "Fecha Generación: "
                lblFechaAprobacion.Text = "Fecha Aprobación: "

            End If
            'lblFechaDoc.Text = lblFecha.Text
        End If
    End Sub

    Public Sub Lista_PPER()
        'carga de combo pper
        Dim objPPERBC As PPERBC = New PPERBC
        Dim dtPPER As DataTable
        Dim strMnoitoreador As String
        strMnoitoreador = ""
        If ddl_monitoreador.SelectedValue.ToString <> "" Then
            strMnoitoreador = ddl_monitoreador.SelectedValue.ToString()
        End If
        dtPPER = objPPERBC.ListaPPER(strMnoitoreador)
        ddl_pper.DataSource = dtPPER
        ddl_pper.DataTextField = "DESCRIPCION"
        ddl_pper.DataValueField = "PPER"
        ddl_pper.DataBind()
    End Sub

    Public Sub Lista_Monitoreo()
        'carga de combo monitoreador
        Dim objMonitoreoBC As MONITOREOBC = New MONITOREOBC
        Dim dtMonitoreo As DataTable
        dtMonitoreo = objMonitoreoBC.Lista_Monitoreo()
        Dim drusuariorow As DataRow = dtMonitoreo.NewRow()
        drusuariorow("MONITOREADOR") = "--Seleccione--"
        drusuariorow("PERSONA") = ""
        dtMonitoreo.Rows.Add(drusuariorow)
        ddl_monitoreador.DataSource = dtMonitoreo
        ddl_monitoreador.DataTextField = "MONITOREADOR"
        ddl_monitoreador.DataValueField = "PERSONA"
        ddl_monitoreador.DataBind()
        ddl_monitoreador.SelectedValue = ""
    End Sub

    Public Sub Lista_Oficina_zonal()
        'carga de combo oficina zonal
        Dim objGeneralBC As GeneralBC = New GeneralBC
        Dim dtGeneral As DataTable
        dtGeneral = objGeneralBC.ListaOficinaZonal(ddl_monitoreador.SelectedValue.ToString)
        ddl_oficina_zonal.DataSource = dtGeneral
        ddl_oficina_zonal.DataTextField = "DESCRIPCION"
        ddl_oficina_zonal.DataValueField = "OFICINA_ZONAL"
        ddl_oficina_zonal.DataBind()
    End Sub

    Public Sub carga_grilla(ByVal strPersona As String, ByVal strCodigo As String, ByVal strAnhioFirma As String)
        'Carga de grilla de plan de trabajo
        Dim objMonitoreoBC As MONITOREOBC = New MONITOREOBC
        Dim dtMonitoreo As DataTable
        dtMonitoreo = New DataTable
        dtMonitoreo = objMonitoreoBC.carga_grilla(strPersona, strCodigo, strAnhioFirma)

        Dim campo1, campo2 As Decimal
        Dim SumaCampo, SumaGabinete As Decimal

        SumaCampo = 0
        SumaGabinete = 0

        For i As Int16 = 0 To dtMonitoreo.Rows.Count - 1
            campo1 = 0
            If dtMonitoreo.Rows(i)("trabajo_campo").ToString = "" Then
                campo1 = 0
            Else
                campo1 = dtMonitoreo.Rows(i)("trabajo_campo")
            End If

            If dtMonitoreo.Rows(i)("trabajo_gabinete").ToString = "" Then
                campo2 = 0
            Else
                campo2 = dtMonitoreo.Rows(i)("trabajo_gabinete")
            End If

            SumaCampo = SumaCampo + CDec(campo1)
            SumaGabinete = SumaGabinete + CDec(campo2)
        Next
        '-----------------
        gv_impresion.DataSource = dtMonitoreo
        gv_impresion.DataBind()
        '-----------------            
        'CARGAR OCULTO
        gv_documento.DataSource = dtMonitoreo
        gv_documento.DataBind()

        gv_oculto.DataSource = dtMonitoreo
        gv_oculto.DataBind()
        '-----------------
    End Sub

    Public Sub ListaMes()
        'carga de combo mes usados
        Dim objgeneralbc As GeneralBC = New GeneralBC
        Dim dtMes As DataTable

        If ViewState("Perfil") = "AD" Or ViewState("Perfil") = "RE" Then
            dtMes = objgeneralbc.ListaMes("", "", Session("Año"))
        Else
            dtMes = objgeneralbc.ListaMes(Session("Persona").ToString, "", Session("Año"))
        End If

        Dim drusuariorow As DataRow = dtMes.NewRow()

        drusuariorow("DESCRIPCION") = "--Seleccione--"
        drusuariorow("PERIODO") = "all"
        dtMes.Rows.Add(drusuariorow)

        ddl_mes.DataSource = dtMes
        ddl_mes.DataTextField = "DESCRIPCION"
        ddl_mes.DataValueField = "PERIODO"
        ddl_mes.DataBind()
        ddl_mes.SelectedValue = "all"
    End Sub

    Public Sub ListaMesNuevo(ByVal persona As String)
        'carga de combo meses no usados
        Dim objgeneralbc As GeneralBC = New GeneralBC
        Dim dtMes As DataTable
        dtMes = objgeneralbc.ListaMes(persona, "NOT", Session("Año"))
        Dim drusuariorow As DataRow = dtMes.NewRow()
        drusuariorow("DESCRIPCION") = "--Seleccione--"
        drusuariorow("PERIODO") = "all"
        dtMes.Rows.Add(drusuariorow)
        ddl_mes.DataSource = dtMes
        ddl_mes.DataTextField = "DESCRIPCION"
        ddl_mes.DataValueField = "PERIODO"
        ddl_mes.DataBind()
        ddl_mes.SelectedIndex = 0
    End Sub

    Public Sub ListaMesPlanTrabajoIngresoActivo()
        'carga de combo meses no usados
        Dim objgeneralbc As GeneralBC = New GeneralBC
        Dim dtMes As DataTable
        dtMes = objgeneralbc.ListaPlanTrabajoMensualActivo(Session("Año"))
        Dim drusuariorow As DataRow = dtMes.NewRow()
        drusuariorow("DESCRIPCION") = "--Seleccione--"
        drusuariorow("PERIODO") = "all"
        dtMes.Rows.Add(drusuariorow)
        ddl_mes.DataSource = dtMes
        ddl_mes.DataTextField = "DESCRIPCION"
        ddl_mes.DataValueField = "PERIODO"
        ddl_mes.DataBind()
        ddl_mes.SelectedValue = "all"
    End Sub

    Public Sub HabilitarAgregar(ByVal strPersona As String)
        Lista_PPER()
        Lista_Oficina_zonal()
        If ViewState("Perfil") = "AD" Then  'perfil administrador       
            ddl_pper.Enabled = False
            ddl_oficina_zonal.Enabled = False
        Else                                'otros perfiles
            ddl_monitoreador.SelectedValue = strPersona
            ddl_monitoreador.Enabled = False

            ddl_pper.SelectedValue = ViewState("PPER")
            ddl_pper.Enabled = False
            ddl_oficina_zonal.SelectedValue = ViewState("OZ")
            ddl_oficina_zonal.Enabled = False
            btnImprimir.Visible = False
            'By Tigrito(13/06/2013)
            'lblObservaciuones.Text = "" 'Observación anterior
        End If
        'txtObservaciones.Enabled = False
        'panelObservaciones.Enabled = False
        'txtObsJefe.Enabled = False
        panelObsJefe.Enabled = False
    End Sub

    Public Sub HabilitarModificar(ByVal strPeriodo As String, ByVal strPersona As String)
        ' habilitacion de controles en caso de edicion
        ddl_monitoreador.SelectedValue = strPersona
        ddl_monitoreador.Enabled = False
        Lista_PPER()
        Lista_Oficina_zonal()
        ddl_pper.Enabled = False
        ddl_oficina_zonal.Enabled = False
        ddl_mes.SelectedValue = strPeriodo
        ddl_mes.Enabled = False
        carga_grilla(strPersona, ViewState("Codigo"), Session("Año"))

        Dim obj As New MONITOREOBC

        'By Tigrito (13/06/2013): txtObservaciones Contendrá las ....Observaciones sobre el Plan de Trabajo del Especialista Técnico del mes anterior
        txtObservaciones.Text = obj.CargarPlan(ViewState("Codigo"))

        'By Tigrito (13/06/2013): lblObsPlanTrabajoMesAnterior (Vista impresión) Contendrá las ....Observaciones sobre el Plan de Trabajo del Especialista Técnico del mes anterior
        lblObsPlanTrabajoMesAnterior.Text = txtObservaciones.Text

        'By Tigrito (13/06/2013)
        'lblObservaciuones.Text = obj.CargarObservacion(ViewState("Persona"), strPeriodo)
        txtObsJefe.Text = obj.CargarPlanJefe(ViewState("Codigo")).Rows(0).Item("OBSERVACION_JEFE").ToString

        'Cargar oculto
        lblPPER.Text = ddl_pper.SelectedItem.Text
        lblMonitoreador.Text = ddl_monitoreador.SelectedItem.Text.ToUpper
        lblMes.Text = ddl_mes.SelectedItem.Text

        If ddl_oficina_zonal.Items.Count = 0 Then
            lblOficina.Text = ""
            lblOficina1.Text = ""
        Else
            lblOficina.Text = ddl_oficina_zonal.SelectedItem.Text
            lblOficina1.Text = ddl_oficina_zonal.SelectedItem.Text
        End If

        lblPPER1.Text = ddl_pper.SelectedItem.Text
        lblMonitoreador1.Text = ddl_monitoreador.SelectedItem.Text.ToUpper
        lblMes1.Text = ddl_mes.SelectedItem.Text
        'By Tigrito(13/06/2013)
        'txtObsDoc.Text = lblObservaciuones.Text
        txtObsAnt.Text = ""
        'txtObsJefe.Enabled = False 
        panelObsJefe.Enabled = False
        'txtObservaciones.Enabled = True
        panelObservaciones.Enabled = True
    End Sub

    Public Sub HabilitarRevision(ByVal strPeriodo As String, ByVal strPersona As String)
        'habilitacion de controles en caso de  revision
        Dim strJefe As String = ""
        Dim obj As New MONITOREOBC
        Dim objDt As New DataTable
        objDt = obj.CargarPlanJefe(ViewState("Codigo"))
        If objDt.Rows.Count > 0 Then
            If objDt.Rows(0).Item("OBSERVACION_JEFE").ToString = "" Then
                txtObsJefe.Text = ""
            Else
                txtObsJefe.Text = objDt.Rows(0).Item("OBSERVACION_JEFE").ToString
            End If
            strJefe = objDt.Rows(0).Item("JEFE_INMEDIATO").ToString
        Else
            txtObservaciones.Text = ""
        End If
        If ViewState("Persona") <> strJefe Then
            btn_guardar.Visible = False
        End If
        ddl_monitoreador.SelectedValue = strPersona
        ddl_monitoreador.Enabled = False
        Lista_PPER()
        Lista_Oficina_zonal()
        ddl_pper.SelectedValue = ViewState("PPER")
        ddl_pper.Enabled = False
        ddl_oficina_zonal.SelectedValue = ViewState("OZ")
        ddl_oficina_zonal.Enabled = False
        ddl_mes.SelectedValue = strPeriodo
        ddl_mes.Enabled = False

        carga_grilla(strPersona, ViewState("Codigo"), Session("Año"))
        gv_impresion.Enabled = False

        'By Tigrito (13/06/2013): txtObservaciones Contendrá las ....Observaciones sobre el Plan de Trabajo del Especialista Técnico del mes anterior
        txtObservaciones.Text = obj.CargarPlan(ViewState("Codigo"))

        'By Tigrito (13/06/2013): lblObsPlanTrabajoMesAnterior (Vista impresión) Contendrá las ....Observaciones sobre el Plan de Trabajo del Especialista Técnico del mes anterior
        lblObsPlanTrabajoMesAnterior.Text = txtObservaciones.Text

        'By Tigrito(13/06/2013)
        'lblObservaciuones.Text = obj.CargarObservacion(ViewState("Persona"), strPeriodo)
        rbAprobacion.SelectedValue = objDt.Rows(0).Item("ESTADO").ToString
        pnlJefe.Visible = True
        pnlJefe.Enabled = True
        'CARGAR OCULTO
        lblPPER.Text = ddl_pper.SelectedItem.Text
        lblMonitoreador.Text = ddl_monitoreador.SelectedItem.Text
        lblMes.Text = ddl_mes.SelectedItem.Text
        txtObsAnt.Text = ""
        If ddl_oficina_zonal.Items.Count = 0 Then
            lblOficina.Text = ""
            lblOficina1.Text = ""
        Else
            lblOficina.Text = ddl_oficina_zonal.SelectedItem.Text
            lblOficina1.Text = ddl_oficina_zonal.SelectedItem.Text
        End If
        lblPPER1.Text = ddl_pper.SelectedItem.Text
        lblMonitoreador1.Text = ddl_monitoreador.SelectedItem.Text
        lblMes1.Text = ddl_mes.SelectedItem.Text
        'By Tigrito(13/06/2013)
        'txtObsDoc.Text = lblObservaciuones.Text
        'txtObsJefe.Enabled = True
        panelObsJefe.Enabled = True
        'txtObservaciones.Enabled = False
        panelObservaciones.Enabled = False
    End Sub

    Public Sub HabilitarConsulta(ByVal strPeriodo As String, ByVal strPersona As String)
        'habilitacion de controles en caso de consulta
        ddl_monitoreador.SelectedValue = strPersona
        ddl_monitoreador.Enabled = False
        Lista_PPER()
        Lista_Oficina_zonal()
        ddl_pper.SelectedValue = ViewState("PPER")
        ddl_pper.Enabled = False
        ddl_oficina_zonal.SelectedValue = ViewState("OZ")
        ddl_oficina_zonal.Enabled = False
        ddl_mes.SelectedValue = strPeriodo
        ddl_mes.Enabled = False
        carga_grilla(ViewState("Persona"), ViewState("Codigo"), Session("Año"))
        gv_impresion.Enabled = False
        Dim obj As New MONITOREOBC

        'By Tigrito (13/06/2013): txtObservaciones Contendrá las ....Observaciones sobre el Plan de Trabajo del Especialista Técnico del mes anterior
        txtObservaciones.Text = obj.CargarPlan(ViewState("Codigo"))

        'By Tigrito (13/06/2013): lblObsPlanTrabajoMesAnterior (Vista impresión) Contendrá las ....Observaciones sobre el Plan de Trabajo del Especialista Técnico del mes anterior
        lblObsPlanTrabajoMesAnterior.Text = txtObservaciones.Text

        pnlJefe.Visible = False
        btnImprimirFormato.Visible = False
        btnImprimir.Visible = True

        'CARGAR OCULTO
        lblPPER.Text = ddl_pper.SelectedItem.Text
        lblMonitoreador.Text = ddl_monitoreador.SelectedItem.Text
        lblMes.Text = ddl_mes.SelectedItem.Text
        'By Tigrito(13/06/2013)
        'lblObservaciuones.Text = obj.CargarObservacion(ViewState("Persona"), strPeriodo)
        txtObsJefe.Text = obj.CargarPlanJefe(ViewState("Codigo")).Rows(0).Item("OBSERVACION_JEFE").ToString
        If ddl_oficina_zonal.Items.Count = 0 Then
            lblOficina.Text = ""
            lblOficina1.Text = ""
        Else
            lblOficina.Text = ddl_oficina_zonal.SelectedItem.Text
            lblOficina1.Text = ddl_oficina_zonal.SelectedItem.Text
        End If

        lblPPER1.Text = ddl_pper.SelectedItem.Text
        lblMonitoreador1.Text = ddl_monitoreador.SelectedItem.Text
        lblMes1.Text = ddl_mes.SelectedItem.Text
        'By Tigrito(13/06/2013)
        'txtObsDoc.Text = lblObservaciuones.Text
        txtObsAnt.Text = ""
        'txtObsJefe.Enabled = False
        panelObsJefe.Enabled = False
        'txtObservaciones.Enabled = False
        panelObservaciones.Enabled = False
    End Sub

    Public Sub AgregaPlanTrabajoPoa(ByVal IDPER As Integer, ByVal POA As String, ByVal TC As String, ByVal TG As String, ByVal TP As String)
        'ingreso de plan trabajo
        Dim objproyectobc As MONITOREOBC = New MONITOREOBC
        objproyectobc.agrega_proyecto(IDPER, POA, TC, TG, TP)
    End Sub

    Protected Sub btn_guardar_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btn_guardar.Click
        If ViewState("Nuevo") = "1" Then   'Creación de nuevo plan de trabajo
            Dim obj As New MONITOREOBC
            Dim dt As New DataTable

            If ddl_mes.SelectedValue = "all" Then 'By Tigrito 21/05/2013: Verificamos que haya seleccionado El mes del Plan de Trabajo
                alerta.Mostrar_Alerta("Error", "Debe seleecionar el mes.")
                Exit Sub
            Else
                'Guardamos nuevo plan trabajo persona
                If ViewState("Perfil") = "AD" Then
                    Dim objPPER As New PPERBC
                    Dim dtJefe As New DataTable
                    dtJefe = objPPER.Jefe(ddl_monitoreador.SelectedValue.ToString)
                    ViewState("Jefe") = dtJefe.Rows(0).Item("JEFE_INMEDIATO").ToString
                End If

                Dim intIdptp As Integer = obj.InsertarPlanTrabajoPersona(ddl_monitoreador.SelectedValue.ToString, ViewState("Jefe"), ddl_mes.SelectedValue.ToString, "1")
                ViewState("Codigo") = intIdptp

                'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                'Guardamos plan trabajo poa

                'Validamos la suma de dias
                Dim i As Integer
                For i = 0 To gv_impresion.Rows.Count - 1
                    Dim htxtTC As TextBox = CType(gv_impresion.Rows(i).FindControl("TextBox1"), TextBox)
                    Dim htxtTG As TextBox = CType(gv_impresion.Rows(i).FindControl("TextBox2"), TextBox)
                    Dim strTC As String = htxtTC.Text.ToString
                    Dim strTG As String = htxtTG.Text.ToString
                    If strTC = "" Then
                        strTC = "0"
                    End If

                    If strTG = "" Then
                        strTG = "0"
                    End If
                    If Decimal.Parse(strTC) + Decimal.Parse(strTG) > 30 Then
                        alerta.Mostrar_Alerta("Aviso", "La Suma de días no debe ser mayor que 30")
                        Exit Sub
                    End If
                Next
                'Insertar Plan trabajo poa
                For i = 0 To gv_impresion.Rows.Count - 1
                    Dim htxtCodigo As HiddenField = CType(gv_impresion.Rows(i).FindControl("hfCodigo"), HiddenField)
                    Dim htxtTC As TextBox = CType(gv_impresion.Rows(i).FindControl("TextBox1"), TextBox)
                    Dim htxtTG As TextBox = CType(gv_impresion.Rows(i).FindControl("TextBox2"), TextBox)
                    Dim strCodigo As String = htxtCodigo.Value.ToString
                    Dim strTC As String = htxtTC.Text.ToString
                    Dim strTG As String = htxtTG.Text.ToString
                    IIf(strTC = "", "0", strTC)
                    IIf(strTG = "", "0", strTG)
                    AgregaPlanTrabajoPoa(intIdptp, gv_impresion.Rows(i).Cells(1).Text, htxtTC.Text.ToString, htxtTG.Text.ToString, ViewState("Tipo"))
                Next
                Dim objMonitorBC As MONITOREOBC
                objMonitorBC = New MONITOREOBC
                'Agregamos comentario
                objMonitorBC.ModificarComentario(intIdptp, txtObservaciones.Text)
                alerta.Mostrar_Alerta("Aviso", "Guardado Correctamente")
                HabilitarModificar(ddl_mes.SelectedValue.ToString, ddl_monitoreador.SelectedValue.ToString)
                ViewState("Nuevo") = "0"
                'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

                'CARGAR OCULTO
                lblPPER.Text = ddl_pper.SelectedItem.Text
                If ddl_oficina_zonal.Items.Count = 0 Then
                    lblOficina.Text = ""
                    lblOficina1.Text = ""
                Else
                    lblOficina.Text = ddl_oficina_zonal.SelectedItem.Text
                    lblOficina1.Text = ddl_oficina_zonal.SelectedItem.Text
                End If
                lblMonitoreador.Text = ddl_monitoreador.SelectedItem.Text
                lblMes.Text = ddl_mes.SelectedItem.Text
                lblPPER1.Text = ddl_pper.SelectedItem.Text
                lblMonitoreador1.Text = ddl_monitoreador.SelectedItem.Text
                lblMes1.Text = ddl_mes.SelectedItem.Text
                lblObsPlanTrabajoMesAnterior.Text = txtObservaciones.Text
            End If

        ElseIf ViewState("Nuevo") = "0" Then   'Modificacion de plan de trabajo
            Dim i As Integer
            For i = 0 To gv_impresion.Rows.Count - 1
                Dim htxtTC As TextBox = CType(gv_impresion.Rows(i).FindControl("TextBox1"), TextBox)
                Dim htxtTG As TextBox = CType(gv_impresion.Rows(i).FindControl("TextBox2"), TextBox)
                Dim strTC As String = htxtTC.Text.ToString
                Dim strTG As String = htxtTG.Text.ToString
                If strTC = "" Then
                    strTC = "0"
                End If

                If strTG = "" Then
                    strTG = "0"
                End If
                If Decimal.Parse(strTC) + Decimal.Parse(strTG) > 30 Then
                    alerta.Mostrar_Alerta("Aviso", "La Suma de días no debe ser mayor que 30")
                    Exit Sub
                End If
            Next
            For i = 0 To gv_impresion.Rows.Count - 1
                Dim htxtCodigo As HiddenField = CType(gv_impresion.Rows(i).FindControl("hfCodigo"), HiddenField)
                Dim htxtTC As TextBox = CType(gv_impresion.Rows(i).FindControl("TextBox1"), TextBox)
                Dim htxtTG As TextBox = CType(gv_impresion.Rows(i).FindControl("TextBox2"), TextBox)
                Dim strCodigo As String = htxtCodigo.Value.ToString
                Dim strTC As String = htxtTC.Text.ToString
                Dim strTG As String = htxtTG.Text.ToString
                IIf(strTC = "", "0", strTC)
                IIf(strTG = "", "0", strTG)
                edicion_grilla(htxtTC.Text.ToString, htxtTG.Text.ToString, strCodigo)
            Next
            Dim objMonitorBC As MONITOREOBC
            objMonitorBC = New MONITOREOBC
            objMonitorBC.ModificarComentario(ViewState("Codigo"), txtObservaciones.Text)
            alerta.Mostrar_Alerta("Aviso", "Guardado Correctamente")
            HabilitarModificar(ddl_mes.SelectedValue.ToString, ddl_monitoreador.SelectedValue.ToString)

        ElseIf ViewState("Nuevo") = "2" Then   'Registro de revision
            If rbAprobacion.SelectedValue = "2" Or rbAprobacion.SelectedValue = "3" Then
                'Guardamos Estado,fecha_jefe y observacion_jefe de plan trabajo persona
                Dim objMonitorBC As MONITOREOBC
                objMonitorBC = New MONITOREOBC
                objMonitorBC.AgregarRevision(ViewState("Codigo"), txtObsJefe.Text, rbAprobacion.SelectedValue.ToString)

                alerta.Mostrar_Alerta("Aviso", "Guardado Correctamente")
                'Esto es obra de Tigrito

                'Response.Redirect("PlanTrabajo.aspx?Nuevo=2&Codigo=" & ViewState("Codigo") & "&Periodo=" & ddl_mes.SelectedValue.ToString & "&Estado=2&Persona=" & ddl_monitoreador.SelectedValue.ToString & "&PPER=" & ViewState("PPER") & "", False)

                HabilitarRevision(ddl_mes.SelectedValue.ToString, ddl_monitoreador.SelectedValue.ToString)
                btn_guardar.Visible = False
                pnlJefe.Enabled = False
                'txtObsJefe.Enabled = False
                panelObsJefe.Enabled = False
                'txtObservaciones.Enabled = False
                panelObservaciones.Enabled = False

            Else
                alerta.Mostrar_Alerta("Aviso", "Debe seleccionar una de las opciones Conforme u Observado.")
                Exit Sub
            End If
        End If
    End Sub

    Public Sub edicion_grilla(ByVal tc As String, ByVal tg As String, ByVal idptpoa As String)
        'edicion de plan trabajo
        Dim objproyectobc As MONITOREOBC = New MONITOREOBC
        objproyectobc.edicion_grilla(tc, tg, idptpoa)
    End Sub

    Protected Sub Salir_Click(ByVal sender As Object, ByVal e As System.Web.UI.ImageClickEventArgs) Handles btn_cancelar1.Click
        'Regresar a formulario padre
        Response.Redirect("~/Devida/ListaPlanTrabajoMensual.aspx", False)
    End Sub

    Protected Sub ddl_monitoreador_SelectedIndexChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles ddl_monitoreador.SelectedIndexChanged
        Lista_PPER()
        Lista_Oficina_zonal()
        'carga combo mes segun monitoredor seleccionado
        If ddl_monitoreador.SelectedValue <> "" Then
            ListaMesNuevo(ddl_monitoreador.SelectedValue.ToString)
        End If
    End Sub

    Private _total1, _total2 As Decimal
    Protected Sub gv_impresion_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gv_impresion.RowDataBound
        'Dar formatoa grilla
        Dim hfCodigo As HiddenField = CType(e.Row.Cells(2).FindControl("hfCodigo"), HiddenField)
        Dim txt1 As TextBox = CType(e.Row.Cells(1).FindControl("TextBox1"), TextBox)
        Dim txt2 As TextBox = CType(e.Row.Cells(2).FindControl("TextBox2"), TextBox)
        If Not (hfCodigo Is Nothing) Then
            If hfCodigo.Value = "0" Then
                e.Row.Cells(0).HorizontalAlign = 2
                txt1.Enabled = False
                txt2.Enabled = False
                With e.Row
                    .BackColor = Drawing.Color.FromArgb(255, 255, 255)
                    .Font.Bold = True
                    .ForeColor = Drawing.Color.Black
                    .Cells(0).Font.Size = 10
                End With
            End If
        End If
        If e.Row.RowType = DataControlRowType.DataRow Then

            e.Row.BackColor = Drawing.Color.FromArgb(255, 255, 255)
            Dim _Row As System.Data.DataRowView = e.Row.DataItem

            Dim price1 As Decimal = Convert.ToDecimal(IIf(IsNumeric(_Row.Item(2).ToString) = True, _Row.Item(2).ToString, 0))
            Me._total1 = Me._total1 + price1

            Dim price2 As Decimal = Convert.ToDecimal(IIf(IsNumeric(_Row.Item(3).ToString) = True, _Row.Item(3).ToString, 0))
            Me._total2 = Me._total2 + price2

            If e.Row.Cells(2).Text = "ZZZ999" Then
                e.Row.Cells(2).Text = "" 'Lo dejamos en blanco
            End If

        ElseIf e.Row.RowType = DataControlRowType.Footer Then
            e.Row.Cells(0).ColumnSpan = 3
            e.Row.Cells(2).Style("padding-right") = "3px" 'Días de campo
            e.Row.Cells(3).Style("padding-right") = "3px" 'Días de gabinete

            e.Row.Cells(1).Text = "N° Total de días del mes"
            e.Row.Cells(2).Text = Me._total1.ToString
            e.Row.Cells(3).Text = Me._total2.ToString

            'e.Row.Cells(3).BackColor = Drawing.Color.DarkTurquoise
            e.Row.Cells(4).Visible = False
            e.Row.Cells(5).Visible = False
            e.Row.Font.Bold = True
            e.Row.ForeColor = Drawing.Color.Black
            e.Row.HorizontalAlign = HorizontalAlign.Right
            e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Center
        End If
    End Sub

    Private _total1d, _total2d As Decimal
    Protected Sub gv_documento_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gv_documento.RowDataBound
        'dar formato a grilla oculta impresion
        If e.Row.RowType = DataControlRowType.DataRow Then
            e.Row.BackColor = Drawing.Color.FromArgb(255, 255, 255)
            Dim _Row As System.Data.DataRowView = e.Row.DataItem
            Dim price1 As Decimal = Convert.ToDecimal(IIf(IsNumeric(_Row.Item(2).ToString) = True, _Row.Item(2).ToString, 0))
            Me._total1d = Me._total1d + price1
            Dim price2 As Decimal = Convert.ToDecimal(IIf(IsNumeric(_Row.Item(3).ToString) = True, _Row.Item(3).ToString, 0))
            Me._total2d = Me._total2d + price2

            If e.Row.Cells(2).Text = "ZZZ999" Then
                e.Row.Cells(2).Text = "" 'Lo dejamos en blanco
            End If

        ElseIf e.Row.RowType = DataControlRowType.Footer Then
            e.Row.Cells(0).ColumnSpan = 3
            e.Row.Cells(2).Style("padding-right") = "3px"
            e.Row.Cells(3).Style("padding-right") = "3px"

            e.Row.Cells(1).Text = "N° Total de días del mes"
            e.Row.Cells(2).Text = Me._total1d.ToString
            e.Row.Cells(3).Text = Me._total2d.ToString

            e.Row.Cells(4).Visible = False
            e.Row.Cells(5).Visible = False
            e.Row.Font.Bold = True
            e.Row.ForeColor = Drawing.Color.Black
            e.Row.HorizontalAlign = HorizontalAlign.Right
            e.Row.Cells(0).HorizontalAlign = HorizontalAlign.Center
        End If
    End Sub

    Protected Sub gv_oculto_RowDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.GridViewRowEventArgs) Handles gv_oculto.RowDataBound

        If e.Row.RowType = DataControlRowType.DataRow Then
            If e.Row.Cells(2).Text = "ZZZ999" Then
                e.Row.Cells(2).Text = "" 'Lo dejamos en blanco
            End If
        End If

        'dar formato a grilla oculta formato
        If e.Row.RowType = DataControlRowType.Footer Then
            e.Row.Cells(1).Text = "N° Total de días del mes"
            e.Row.Cells(0).ColumnSpan = 3
            e.Row.Cells(0).HorizontalAlign = 2
            e.Row.Cells(4).Visible = False
            e.Row.Cells(5).Visible = False
            With e.Row
                .Cells(0).Font.Bold = True
                .Cells(0).ForeColor = Drawing.Color.Black
                .Cells(0).Font.Size = 10
            End With
        End If
    End Sub

    Protected Sub Carga_grilla_Inicio()
        Dim obj As New MONITOREOBC
        Dim dt As New DataTable
        dt = obj.ListarProyectos(ddl_monitoreador.SelectedValue.ToString, Session("Año"))
        gv_impresion.DataSource = dt
        gv_impresion.DataBind()
    End Sub

End Class
